#ifndef MANAGEMENTMANAGER_H
#define MANAGEMENTMANAGER_H
#include "management.h"
#include "student.h"
#include "teacher.h"
#include "course.h"
#include <QList>

class managerManagement:public management
{
public:
    managerManagement();
    //添加新课程
    virtual void addNewCourse(course& newCourse)=0;
    //添加新的学生信息
    virtual void addNewStudent(student& newStudent)=0;
    //添加新的教师信息
    virtual void addNewTeacher(teacher& newTeacher)=0;

    //查看所有教师信息
    virtual void displayAllTeacher(QStandardItemModel *model)=0;
    //查看所有学生信息
    virtual void displayAllStudent(QStandardItemModel *model)=0;
    //查看所有课程信息
    virtual void displayAllCourse(QStandardItemModel *model)=0;

    //修改学生信息
    virtual void modifyStudentInfo(student& info,QStringList newInfo)=0;
    //修改课程信息
    virtual void modifyCourseInfo(course& info,QStringList newInfo)=0;
    //修改教师信息
    virtual void modifyTeacherInfo(teacher& info,QStringList newInfo)=0;

    //删除学生信息
    virtual void deleteStudentInfo(QString id)=0;
    //删除教师信息
    virtual void deleteTeacherInfo(QString id)=0;
    //删除课程信息
    virtual void deleteCourseInfo(QString id)=0;


    virtual bool displayTeacherWithId(const QString& id,QStandardItemModel *model)=0;

    virtual bool displayTeacherWithName(const QString& name,QStandardItemModel *model)=0;

    virtual bool displayStudentWithId(const QString& id,QStandardItemModel *model)=0;

    virtual bool displayStudentWithName(const QString& name,QStandardItemModel *model)=0;


    virtual teacher& findTeacherWithId(const QString& id)=0;

    virtual teacher& findTeacherWithName(const QString& name)=0;

    virtual student& findStudentWithId(const QString& id)=0;

    virtual student& findStudentWithName(const QString& name)=0;

    virtual course& findCourseWithId(const QString& id)=0;

    virtual void displayWaitToLoadCourse(QStandardItemModel *model)=0;
};

#endif // MANAGEMENTMANAGER_H




